package com.smartleanx.module.hrm.dal.dataobject.examine.examineRecord;

import com.alibaba.fastjson2.JSONObject;
import com.smartleanx.module.hrm.dal.dataobject.examine.examineDimensionIndex.ExamineDimensionIndexDO;
import lombok.*;

import java.util.*;

import com.baomidou.mybatisplus.annotation.*;
import com.smartleanx.framework.mybatis.core.dataobject.BaseDO;

/**
 * 考核计划开始后生成记录 DO
 *
 * @author
 */
@TableName("hrm_examine_record")
@Data
public class ExamineRecordDO {

    /**
     * 考核计划开始后的记录
     */
    @TableId
    private Integer id;
    /**
     * 被考核人员id
     */
    private Integer employeeId;


    private String recordEmployeeName;

    /**
     * 工号
     */
    private String employeeNo;
    /**
     * 部门id
     */
    private Integer departmentId;
    /**
     * 岗位id
     */
    private Integer postId;
    /**
     * 1部门2岗位
     */
    private Integer exanineType;
    /**
     * 1待评分 2待审核 3待确认 4申诉中 5申诉驳回 6申诉确认 7 审核驳回
     */
    private Integer examineStatus;
    /**
     * 等级id -1未定级
     */
    private Integer examineGradeId;
    /**
     * 分数
     */
    private Integer ratingScore;
    /**
     * 开始时间
     */
    private String cycleStartTime;
    /**
     * 结束时间
     */
    private String cycleEndTime;
    /**
     * 年日期
     */
    private String examineYear;
    /**
     * 月份
     */
    private String cycleTimeType;
    /**
     * 考核周期 1月度 2季度 3上半年 4下半年5全年 6其他
     */
    private Integer cycleType;
    /**
     * 考核说明
     */
    private String examineIllustrate;
    /**
     * 1低绩效 2非低绩效
     */
    private Integer isLowPerformance;
    /**
     * 考核计划id
     */
    private Integer examineId;

    private Integer sendStatus;

    private String examineName;
    @TableField(exist = false)
    private Integer sex;
    /**
     * 考核方案名称
     */
    @TableField(exist = false)
    private String examinePlanName;

    @TableField(exist = false)
    private Integer fraction;

    @TableField(exist = false)
    private String gradeName;
    @TableField(exist = false)
    private String employeeName;

    @TableField(exist = false)
    private String deptName;


    @TableField(exist = false)
    private String pendingPerson;
    @TableField(exist = false)
    private String titleTime;

    @TableField(exist = false)
    private String appealReason;
    @TableField(exist = false)
    private String rejectReason;
    @TableField(exist = false)
    private String raterStatus;
    @TableField(exist = false)
    private String postName;
    @TableField(exist = false)
    private String employeeStatus;
    @TableField(exist = false)
    private Integer employeeExamineNum;
    @TableField(exist = false)
    private List<ExamineDimensionIndexDO> examineDimensionIndexDOList = new ArrayList();
    @TableField(exist = false)
    List<JSONObject> commentResults = new ArrayList();
    @TableField(exist = false)
    private Integer examineNum;
    @TableField(exist = false)
    private String cycleTypeStr;


    private String isLowPerformanceFile;

    //是否离职   0/未离职  1/已离职
    @TableField(exist = false)
    private Integer isDimission;

}